//该文件用于创建Vuex中最为核心的store
// 引入Vuex
import Vuex from 'vuex'
import Vue from "vue";
//准备actions——用于响应组件中的动作
const actions={
 /* add (context,value){
    context.commit('ADD',value)
  },
  del (context,value){
    context.commit('DEL',value)
  },*/
  addOdd (context,value){
    if(context.state.sum%2){
      context.commit('ADD',value)
    }
  },
  addWait(context,value){
    setTimeout(()=>{
      context.commit('ADD',value)
    },1000)
  }
}
//准备mutations——用于操作数据（state）
const mutations={
  ADD(state,value){
    state.sum+=value
  },
  DEL(state,value){
    state.sum-=value
  },
  ADD_PERSON(state,value){
    console.log('ADD_PERSON,value-----',value)
    state.personList.unshift(value)
  }
}

// 准备getters——用于将state中的数据进行加工
const getters={
  bigSum(state){
    return state.sum*10
  }
}
//准备state——用于存储数据
const state={
  sum: 0,
  school:'尚硅谷',
  subject:'前端',
  personList:[{
    id:0,
    name:'张三'
  }]
}

Vue.use(Vuex)
// 创建并暴露store
export default new Vuex.Store({
  actions,
  mutations,
  state,
  getters
})
